﻿#include "usermodel.h"

UserModel::UserModel():BaseModel ()
{

}
int UserModel::Table_Query(char *sql)
{
    char *errmsg;//接受错误信息
    char **datares;//接受查询结果集
    int res,row,col;
    res=sqlite3_get_table(this->psqlite,sql,&datares,&row,&col,&errmsg);
    if(res==SQLITE_OK)
    {
        qDebug()<<"search ok";
    }
    else
    {
        qDebug()<<"search no";
        return 0;
    }
    return 1;

}
void UserModel::Table_Delete(char *sql)
{


    char *errmsg;
    int res;
    res=sqlite3_exec(this->psqlite,sql,nullptr,nullptr,&errmsg);
    if(res==SQLITE_OK)
    {
        qDebug()<<"search ok";
    }
    else
    {
        qDebug()<<"search no";
    }
}

int UserModel::Table_Inserter(char *sql)
{
    char *errmsg;//接受错误信息
    int res;
    res=sqlite3_exec(this->psqlite,sql,nullptr,nullptr,&errmsg);
    if(res==SQLITE_OK)
    {
        qDebug()<<"inserte ok";
        return 1;
    }
    else
    {
        qDebug()<<"inserte no";

    } return 0;
}

int UserModel::Table_Modifier(char *sql)
{
    char *errmsg;//接受错误信息
    int res;
    res=sqlite3_exec(this->psqlite,sql,nullptr,nullptr,&errmsg);
    if(res==SQLITE_OK)
    {
        qDebug()<<"inserte ok";
        return 1;
    }
    else
    {
        qDebug()<<"inserte no";
        return 0;
    }
}

User* UserModel::getUserByName(char *sql)
{
    User *user=nullptr;
    User *u[100];
    char *errmsg;//接受错误信息
    char **datares;//接受查询结果集
    int res,row,col;
    //qDebug()<<"0";
    res=sqlite3_get_table(this->psqlite,sql,&datares,&row,&col,&errmsg);
    //qDebug()<<"查询用户数据结束";
    if(row>0&&row<=2)
    {
        //qDebug()<<"1";
        user=new User(atoi(datares[5]),datares[6],atoi(datares[7]),datares[8],datares[9]);
        return user;
    }
    //qDebug()<<"1";
    return user;
}

QVector<User> UserModel::getUser(char *sql)
{
    //获取所有用户信息
    User *user=nullptr;
    adduser.resize(100);//初始化
    //adduser.fill(nullptr);//置零
    char *errmsg;//接受错误信息
    char **datares;//接受查询结果集
    int res,row,col;
    //qDebug()<<"0";
    res=sqlite3_get_table(this->psqlite,sql,&datares,&row,&col,&errmsg);
    qDebug()<<"查询用户数据结束";
     if (row>0)
    {
         //qDebug()<<"row="<<row;
         //把所有数据全都放入adduser中
        for(int i=0;i<row;i++)
        {

          user=new User(atoi(datares[(i+1)*5]),datares[(i+1)*5+1],atoi(datares[(i+1)*5+2]),datares[(i+1)*5+3],datares[(i+1)*5+4]);
         this->adduser[i]=user;
         //qDebug()<<"输出用户数据结束";
        }

    }
     return adduser;
}

int UserModel::getRow(char *sql)
{
    User *user=nullptr;
    adduser.resize(100);//初始化
    char *errmsg;//接受错误信息
    char **datares;//接受查询结果集
    int res,row,col;
    //qDebug()<<"0";
    res=sqlite3_get_table(this->psqlite,sql,&datares,&row,&col,&errmsg);
    qDebug()<<"row="<<row;
    return row;
}



/*int UserModel::SizeUser(User **user)
{

}*/


